from common.tools import filePath
import xlrd

'''
这是通用用例的Excel操作
'''

class OperationExcel:
#·获取shell表
    def getsheet(self,sheetid):   # filePath  str类型 D:\pythonfile\uc_health_phone_inter\test_data\data.xlsx
        book= xlrd.open_workbook(filePath(fileDir='test_data',fileName='common_case.xlsx'))#前面已经默认将文件参数传递进去了，所以直接调用不用再传参
        return book.sheet_by_index(sheetid)#根据索引获取到sheet表
        # with open(filePath(),'r') as fp:
        #     x=fp.read()
        # return x

#默认就是传第一个个sheet的数值
    def getExceldatas(self,sheetid=0):
        data = []
        title = self.getsheet(sheetid).row_values(0)  # (0)获取第一行也就是表头
        print(title)
        for row in range(1,self.getsheet(sheetid).nrows): #从第二行开始获取
            row_value = self.getsheet(sheetid).row_values(row)
            data.append(dict(zip(title,row_value)))#将读取出每一条用例作为一个字典存放进列表
        return data

#·对excel表头进行全局变量定义
class ExcelVarles:
    case_Id="用例ID"
    case_module ="用例模块"
    case_name="用例名称"
    case_url="用例地址"
    case_method="请求方式"
    case_type ="请求类型"
    case_data ="请求参数"
    case_headers="请求头"
    case_preposition="前置条件"
    case_isRun="是否执行"
    case_code ="状态码"
    case_result="期望结果"


if __name__=='__main__':
    oe=OperationExcel()
    print(oe.getExceldatas(1))
    # print(oe.getsheet())
    # print(ExcelVarles.case_result)